<?php

namespace Jb\Navigation\Decorator;

use Jb\Navigation\Navigation;

class NavigationDecorator extends Navigation {

    private $navigationObject;

    public function __construct(Navigation $navigationObject) {
        $this->navigationObject = $navigationObject;
    }

    public function addRoute(Route $pageRoute) {
        $this->navigationObject->addRoute($pageRoute);
    }

    public function getRoutes() {
        return $this->navigationObject->getRoutes();
    }

    protected function hasRoutes() {
        return $this->navigationObject->hasRoutes();
    }

    public function getLabel() {
        return $this->navigationObject->getLabel();
    }

    public function setUri(Uri $pageUri) {
        $this->navigationObject->setUri($pageUri);
    }

    public function getUri() {
        return $this->navigationObject->getUri();
    }

    public function setActive($isActive) {
        $this->navigationObject->setActive($isActive);
    }

    public function isActive() {
        return $this->navigationObject->isActive();
    }

    public function compareTo(Object $currentRoute) {
        $this->navigationObject->compareTo($currentRoute);
    }

    public function addPage(Navigation $navigationPage) {
        $this->navigationObject->addPage($navigationPage);
    }

    public function getParent() {
        return $this->navigationObject->getParent();
    }

    public function hasParent() {
        return $this->navigationObject->hasParent();
    }

    public function setParent(Menu $menuPage) {
        $this->navigationObject->setParent($menuPage);
    }

    public function isParent() {
        return $this->navigationObject->isParent();
    }


}

?>
